home *** CD-ROM | disk | FTP | other *** search
- Log file for Sherlock versions and bugs
-
-
- ----- VERSIONS 1.0a, 1.0b and 1.0c.
-
- There were at least 3 SERIOUS bugs fixed in November, 1988
-
- SPP: Did not recognize a PP directive line as the first token in the file.
- I think the fix involved a change in SPP.C
-
- SPP: Added an extra '\r' to all lines. The fix was to SYS.C.
-
- SDEL: Added an extra '\r' to all lines.
-
-
-
- ----- VERSION 1.1
-
- 2/9/89
-
- As of today, the files in \sherlock are version 1.1 files.
-
- There are only minor variations between version 1.0c and version 1.1.
-
- SHERLOCK.C
-
- o Version 1.1 has eliminated the buffering of output.
- o The sl_init function now takes a string argument.
- o Some functions were renamed.
-
- SL.H and SL1.H
-
- The declaration of sl_init has been changed, as has the SL_INIT macro.
-
- SLTEST.C
-
- Version 1.1 adds some messages telling what the output should be.
-
- 2/9/89
-
- Today I reorganized the file system as follows:
-
- All Sherlock .exe files now sent to \sherlock\bin and \sherlock\bin is made
- part of the default search path.
-
- All Microsoft .exe files start with an m.
- All Microsoft .obj files in \sherlock\msc start with an m.
-
- NEWCPP directory changed to CPP.
- NEWSPP moved to SPP.
- SDEL and SDIF moved out of SPP into directories of their own.
-
- 2/14/89
-
- o The sl_csout(), sl_lpout() and sl_rpout() routines were added to sherlock.c.
- The declarations for these routines were added to sl.h and sl1.h.
- A test of these routines was added to sltest.c.
-
- o Bugs, many bugs were found in sem.c. These caused incorrect macros to be
- generated by SPP.
-
- o Sem was changed to generate calls to sl_csout(), sl_lpout() and sl_rpout().
- It was also changed to put sl_csout() and sl_rpout() on the same line as the
- line that generates the main output.
-
- o A bug was corrected in CPP that had been corrected earlier in SPP. It is
- now possible to put white space in the list of formal args in a macro.
-
- o A bug was corrected in CPP that probably doesn't need to be fixed in SPP.
- An extra space was left in front of the # operator in certain cases. The fix
- was made to def.c.
-
- 2/16/89
- Added -b option to SDIF.
-
- The so_disable() function and the fn_enable flag disable generation of Sherlock
- macros if a Sherlock macro is seen as the first executable statement of a
- function. These changes were to SEM.C.
-
- The SL_DISABLE macro was added to sl.h and sl1.h to allow additional macros to
- be suppressed from a function. Sherlock macros may follow SL_DISABLE in a
- function, SL_DISABLE just disables FURTHER macro generation.
-
- The fn_gen flag is used to generate a warning if a Sherlock macro is
- encountered after generation of macros has begun.
-
- The fn_warn flag insures that only one warning per function is given.
-
- The is_sherlock() function was added to SPP.C and a test was made in
- outer_expand() in DEF.C to see if the macro being expanded is a Sherlock macro.
-
- Changed warn3 and err3 in UTL.C to always print file name and to print the
- current function name if there is one. This should make the diagnostic output
- more valuable. Also, warn3 and err3 now add periods automatically.
-
- 2/16/89
- o Fixed a TERRIBLE bug in skip_ws which caused it to loop if the flag passed to
- it was FALSE and it saw a newline. I don't know why this bug never showed up
- before!
- o Fixed a minor bug in DCL.C that caused a spurious "Function not expected here."
- The fix was to set prev_dcl = 0 in most places.
- o Cleaned up the synonym processing logic in SPP.C and SDEL.C. The new code uses
- an array to define all legal Sherlock macros.
- o Added the -? option to SPP, SDEL and SDIF. This allows version to be less
- of an eye strain.
- o Added a better usage message to eiter SDEL or SDIF, whichever didn't have it
- before.
-
- 2/17/89 Version 1.3 Released
- o Created spp.tst and syn.tst in \test\tst.
- o Brought all version numbers up to date in preparation for releasing v1.1.
- o Deleted periods in error message in mem.c and mst.c.
- o Fixed a bug: sem.c now recognizes multilevel typedefs involving bool.
-
- 6/27/89 Version 1.4 Released
- o Fixed macro overflow bug which caused crashes in def.c.
- o Allocated memory from heap in expand() and substitute() in def.c.
- o Added support for set INCLUDE= environment variables in main() in spp.c.
- o Added ANSI compatible backslash-newline support. Now handled in sysnext().
- o Declined to support single-line comments. Wrote letter to Microsoft.
- o Fixed comment bug in skip_comment() in tok.c.
- o Fixed bug involving arrays in prototypes in type_tail() in dcl.c.
- o Fixed bug involving complex initializers with the curly_ok_flag kludge.
- o Functions returning structures now use TICKX to return. Changed sem.c.
- o Fixed tracing of structure arguments in so_usr() and so_printf() in sem.c.
- o Added many more tests to \test\dcltest.c.
- o Allowed 31 characters in a sherlock macro name. Change made in sherlock.c.
- o Enhanced \test\r.bat.
-
- 7/28/89 New Policy regarding keeping versions separate
- o \spp will, as before, contain the current working copy of SPP.
- o putsl.bat will take spp.exe from \spp\v1ptx subdirectory, not \spp\turboc
- o \sherlock\bin will contain release version of all programs EXCEPT SPP.
- o \test will have to make sure that proper version of SPP is tested.
- o \makeall will have to be changed to reflect the proper version of SPP
- o the make files for SPP will no longer copy files to \sherlock\bin.
-
- TO CHANGE TO A NEW VERSION:
- o put the frozen code in a new directory called \spp\v1ptx
- o change putsl.bat to get spp.exe from \spp\v1ptx
- o \test will contain test files: dcltest.c, dcltest2.c, etc.
- o The test files spptest.bat, r.bat and v.bat are to be run from the directory
- containing the code to be tested. The assumption is that the directory will
- contain an out subdirectory which will hold temp files and output.
-